/*
 * @Description: 数据列表类型
 * @Author: chenju
 * @Date: 2022-01-18 17:24:04
 * @LastEditors: chenju
 * @LastEditTime: 2023-01-19 14:24:04
 */

// 数据列表分页查询 不包含分页参数 入参
import { CarbonInventoryStandardsEnum } from '@/constants/enum';

export interface GetTaskDataListParams {
  // 报告主题
  organizationName?: string;
  // 上报年份
  inventoryYear?: string;
  // 时间
  createTime?: string | undefined;
  // 创建时间-开始
  beginTime?: string;
  // 创建时间-结束
  endTime?: string;
}

// 数据列表分页查询 返回
export interface GetTaskDataListResult {
  id: number;
  // 任务编号
  taskNo: string;
  // 盘查年份
  inventoryYear: string;
  // 组织名称
  organizationName: string;
  // 范围
  emissionScopeCategory: string;
  // 创建时间
  createTime: string;
  // 任务id
  taskId: string;
  // 任务类型
  taskType: string;
}

// 汇总 不包含分页参数 入参
export interface GetTaskDataSummaryListParams {
  // 排放名称
  taskNo?: number | string;
  standard: string;
}

// 汇总页返回值
export interface GetTaskDataSummaryListResult {
  id: number;
  // 	范围
  emissionScope: string;
  // 排放类别
  emissionCategory: string;
  // 温室气体类型
  ghgSourceName: string;
  // 排放源
  sourceName: string;
  // 能源/燃料
  materialName: string;
  // 活动数据
  activityData: string;
  // 总排放量
  totalEmission: string;
  // 排放占比
  proportion: string;
}

// 排放源识别 不包含分页参数 入参
export interface GetTaskDataIdentificationListParams {
  // 排放名称
  taskNo?: number | string;
}

// 排放源识别返回值
export interface GetTaskDataIdentificationListResult {
  id: number;
  // 	范围
  emissionScope: string;
  // 排放类别
  emissionCategory: string;
  // 温室气体类型
  ghgSourceName: string;
  // 排放源
  sourceName: string;
  // 能源/燃料
  materialName: string;
  // 排放源位置
  sourceLocation: string;
  // 产生的温室气体
  emissionGas: string;
  // 备注
  remark: string;
}

// 活动数据收集 不包含分页参数 入参
export interface GetTaskDataCollectionListParams {
  // 排放名称
  taskNo?: number | string;
}

// 活动数据收集页返回值
export interface GetTaskDataCollectionListResult {
  id: number;
  // 	范围
  emissionScope: string;
  // 排放类别
  emissionCategory: string;
  // 温室气体类型
  ghgSourceName: string;
  // 排放源
  sourceName: string;
  // 能源/燃料
  materialName: string;
  // 活动源
  activityData: string;
  // 单位
  activityDataUnit: string;
  // 来源
  sourceLocation: string;
  // 负责部门
  dataAccessDepartment: string;
}

// 排放量计算 不包含分页参数 入参
export interface GetTaskDataCalculationListParams {
  // 排放名称
  taskNo?: number | string;
}

// 排放量计算页返回值
export interface GetTaskDataCalculationListResult {
  id: number;
  // 	范围
  emissionScope: string;
  // 排放类别
  emissionCategory: string;
  // 温室气体类型
  ghgSourceName: string;
  // 排放源
  sourceName: string;
  // 能源/燃料
  materialName: string;
  // 活动数据
  activityData: string;
  // 产生的温室气体
  gas: string;
  // 单位
  activityDataUnit: string;
  // 气体排放量
  gasEmissions: string;
  // gwp
  gwp: string;
  // 碳排放量
  carbonDioxideEquivalent: string;
  // 占总排放量百分比
  proportion: string;
  // 数据质量评分
  score: string;
}

// 排放因子选择 不包含分页参数 入参
export interface GetTaskDataSelectionListParams {
  // 排放名称
  taskNo?: number | string;
}

// 排放因子选择页返回值
export interface GetTaskDataSelectionListResult {
  id: number;
  // 	范围
  emissionScope: string;
  // 排放类别
  emissionCategory: string;
  // 温室气体类型
  ghgSourceName: string;
  // 排放源
  sourceName: string;
  // 能源/燃料
  materialName: string;
  // 产生的温室气体
  gas: string;
  // 排放系数
  gasEmissionCoefficient: string;
  // 因子单位
  gasEmissionUnit: string;
  // 排放因子源
  emissionCoefficientSource: string;
}

// 列表头数据相关统计
export interface submitTaskDataCalculateParams {
  // 任务编号
  taskNo: string | number;
  standard: keyof typeof CarbonInventoryStandardsEnum;
}

// 列表头数据相关统计 返回参数
export interface SubmitTaskDataCalculateResult {
  // 绝对排放量，排放总量
  totalEmission: string;
  // 	排放量单位
  totalEmissionUnit: string;
  // 物理排放强度
  emIntensityPh: string;
  // 物理排放强度单位
  emIntensityPhUnit: string;
  // 经济排放强度
  emIntensityEco: string;
  // 经济排放强度单位
  emIntensityEcoUnit: string;
  // 数据质量总评分
  score: string;
}

/**
 * 下载报告 入参
 */
export interface ExportReportParams {
  inventoryTaskNoList: string[];
  standard: keyof typeof CarbonInventoryStandardsEnum;
}
